package com.fortune.service;

import com.fortune.dto.in.returnDeposit.AddDto;
import com.fortune.dto.in.returnDeposit.EditDto;
import com.fortune.vo.returnDeposit.ReturnDepositInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ReturnDepositService {
    /**
     * 新增押金工单
     * @param addDto
     * @param mid
     * @param did
     * @param crdid
     * @return
     */
    int addReturnDeposit(@Param("addDto") AddDto addDto,
                         @Param("mid") String mid,
                         @Param("did") String did,
                         @Param("crdid") String crdid);

    /**
     * 编辑押金工单
     * @param editDto
     * @param mid
     * @param did
     * @return
     */
    int editReturnDeposit(@Param("editDto") EditDto editDto,
                          @Param("mid") String mid,
                          @Param("did") String did);

    /**
     * 删除押金工单
     * @param id
     * @return
     */
    int deleteReturnDeposit(@Param("id") String id);

    /**
     * 未处理工单
     * @param mid
     * @param did
     * @param userId
     * @return
     */
    List<ReturnDepositInfo> findReturnDepositInfoByUn(@Param("mid") String mid,
                                                      @Param("did") String did,
                                                      @Param("userId") String userId);

    /**
     * 已批准工单
     * @param mid
     * @param did
     * @param userId
     * @return
     */
    List<ReturnDepositInfo> findReturnDepositInfoByApproved(@Param("mid") String mid,
                                                            @Param("did") String did,
                                                            @Param("userId") String userId);

    /**
     * 已接货工单
     * @param mid
     * @param did
     * @param userId
     * @return
     */
    List<ReturnDepositInfo> findReturnDepositInfoByReceived(@Param("mid") String mid,
                                                            @Param("did") String did,
                                                            @Param("userId") String userId);

    /**
     * 已完成工单
     * @param mid
     * @param did
     * @param userId
     * @return
     */
    List<ReturnDepositInfo> findReturnDepositInfoByCompleted(@Param("mid") String mid,
                                                             @Param("did") String did,
                                                             @Param("userId") String userId);
}
